package exercise.jslide.jslide.view.ribbon;

import javafx.scene.control.TabPane;
import javafx.scene.control.TabPane.TabClosingPolicy;

/**
 * <p>RibbonBar 类是一个 JavaFX 控件，用于展示应用程序的功能区。</p>
 * <p>RibbonBar 继承自 TabPane 类，用于展示多个 Tab 页，每个 Tab 页对应一个功能区。</p>
 */
public class RibbonBar extends TabPane {
    /**
     * 该构造方法用于初始化 RibbonBar 控件。
     * 在构造方法中，设置了 TabClosingPolicy 为 TabClosingPolicy.UNAVAILABLE，
     * 以禁用 Tab 页的关闭功能。
     * 同时，为 RibbonBar 控件添加了一个样式类 "ribbon-bar"。
     * 该样式类在 CSS 文件中定义了 RibbonBar 控件的样式。
     * @see TabClosingPolicy
     */
    public RibbonBar() {
        setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE);
        getStyleClass().add("ribbon-bar");
    }

    /**
     * 该方法用于选择指定索引的 Tab 页。
     * @param i Tab 页的索引
     */
    public void selectTab(int i) {
        getSelectionModel().select(i);
    }
}